<?php
/**
 * Flea Site
 *
 * @copyright  Copyright (c) 2008 Movoin Studio (http://movoin.com)
 * @license    Apache License 2.0
 * @version    $Id: User.php 130 2009-05-21 14:23:24Z movoin $
 */

/**
 * Table_User 表数据接口类，提供对mo_user表数据的CRUD操作
 */

// {{{ include
FLEA::loadClass( 'FLEA_Db_TableDataGateway' );
// }}}

class Table_User extends FLEA_Db_TableDataGateway
{
    /*
     * 表名
     */
    var $tableName = 'user';
    /*
     * 主键
     */
    var $primaryKey = 'user_id';

    /**
     * 设置从属关系
     * 一个用户属于一个用户组
     *
     * @var array
     */
    var $belongsTo = array(
        array(
            'tableClass'    => 'Table_Usergroup',
            'foreignKey'    => 'group_id',
            'mappingName'   => 'group',
            'fields'        => array('group_id', 'name', 'options'),
            'enabled'       => false
        )
    );

    /**
     * 创建记录前进行的处理
     *
     * @param array $row
     * @return array
     */
    function _beforeCreate(& $row)
    {
        return $this->_serializeValues($row);
    }

    /**
     * 更新记录前进行的处理
     *
     * @param array $row
     * @return array
     */
    function _beforeUpdate(& $row)
    {
        return $this->_serializeValues($row);
    }

    /**
     * 将提交的profile字段进行serialize操作
     *
     * @param array $row
     * @return array
     */
    function _serializeValues(& $row)
    {
        $row = $row;
        return $row;
    }
}
